package xmlexample;

/*
 * Magazzino.java
 *
 * Created on 5 marzo 2004, 19.41
 */
import net.ermannofranco.xml.Doc;
import net.ermannofranco.xml.Tag;

/**
 * 
 * @author ermanno
 */
public class Magazzino extends Doc {

	private static final long serialVersionUID = -2742357590624033518L;

	/** Creates a new instance of ProvaXml */
	public Magazzino() {
		super("MAGAZZINO");

		// nel costruttore posso assegnare un riferimento alla classe del
		// creatore, così il metodo save ha le informazioni sul nome file, e per
		// eventuali callback futuri
		// doc= new Doc("MAGAZZINO",getClass());
		Tag art;
		Tag lev1;

		addCanonicNS()
				.setNoNSSchemaLocation("MagazzinoSchema.xsd")
				.setComment(
						"Il magazzino descrive una serie di articoli."
								+ "Ogni articolo � contrassegnato da un codice univoco.");

		// si possono anche dichiarare o caricare DTD
		// doc.setSystemDoctype("D:/condivisi/progettisoft/XmlFactory/DtdForesta.dtd");
		// oppure
		// doc.setPublicDoctype("-//PIPPO INC.// MIA DTD //PIEM","www.pippo.com/dtds/DtdForesta.dtd");
		// SYSTEM e PUBLIC sono alternativi.
		// usandone pi� d'una, l'ultima prevale e azzera l'altra

		(art = addTag("ARTICOLO")).setComment("Inizia un articolo");
		(lev1 = art.addTag("CODICE")).addTextBlock("12345");
		(lev1 = art.addTag("DESCRIZIONE"))
				.addTextBlock("Profilattico misura 7+");
		(lev1 = art.addTag("PREZZO")).addTextBlock("123.45");
		(lev1 = art.addTag("PESO")).addAttribute("UM", "GR").addTextBlock(
				"43.125");

		(art = addTag("ARTICOLO")).setComment("Inizia un altro articolo");
		(lev1 = art.addTag("CODICE")).addTextBlock("1234A");
		(lev1 = art.addTag("DESCRIZIONE"))
				.addTextBlock("Profilattico misura 4-");
		(lev1 = art.addTag("PREZZO")).addTextBlock("12.45");
		(lev1 = art.addTag("PESO")).addAttribute("UM", "GR").addTextBlock(
				"4.125");

		(art = addTag("ARTICOLO")).setComment("Inizia un altro articolo");
		(lev1 = art.addTag("CODICE")).addTextBlock("123B45");
		(lev1 = art.addTag("DESCRIZIONE"))
				.addTextBlock("Profilattico misura 0");
		(lev1 = art.addTag("PREZZO")).addTextBlock("23.45");
		(lev1 = art.addTag("PESO")).addAttribute("UM", "KG").addTextBlock(
				"4.567");

		// lo stampa e lo salva in un file con lo stesso nome della classe
		// a video arriva un messaggio di conferma

		// doc.save("../generati/" + getClass().getName());
	}

}
